Dynamic Programming:

-> Stages to Solve:
    1. Define Storage and Meaning of the Problem
    2. Find the Direction of the problem
    3. Travel and solve the problem